package com.smt.modules.bus.dao;

import com.smt.modules.bus.pojo.ProjectSiPojo;
import com.smt.modules.bus.pojo.SituationPojo;
import com.smt.modules.bus.pojo.UserInfoPojo;
import com.smt.modules.bus.pojo.UserNamePojo;
import com.smt.modules.bus.vo.request.ConceptualReq;
import com.smt.modules.bus.entity.ProjectTaskEntity;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

/**
 * 工程任务表
 * 
 * @author murong
 * @email 981620741@qq.com
 * @date 2018-09-29 15:37:09
 */
@Mapper
public interface ProjectTaskDao extends BaseMapper<ProjectTaskEntity> {

    /**
     * 获取其阶段任务列表
     *
     * @param conceptualReq
     * @return
     */
    List<ProjectTaskEntity> selectCountByStatus(ConceptualReq conceptualReq);

    /**
     * 获取当前项目下的所有人名
     *
     * @param projectId
     * @return
     */
    List<UserInfoPojo> memberLists(Long projectId);

    /**
     * 获取该项目下的各个状态总数
     *
     * @param situationPojo
     * @return
     */
    List<ProjectTaskEntity> situationLists(SituationPojo situationPojo);

    /**
     * 查询该项目下的是任务列表
     *
     * @param projectId
     * @return
     */
    List<ProjectTaskEntity> selectProjectTask(Long projectId);

    /**
     * 修改阶段负责人名字
     *
     * @param projectSiPojo
     * @return
     */
    List<UserNamePojo> selectStageUserName(ProjectSiPojo projectSiPojo);

    /**
     *  获取项目阶段下的任务列表
     *
     * @param projectSiPojo
     * @return
     */
    List<ProjectTaskEntity> selectProjectTaskList(ProjectSiPojo projectSiPojo);

    /**
     * 获取所有任务集合
     *
     * @param memberId
     * @return
     */
    List<ProjectTaskEntity> selectAllProjectTaskList(Long memberId);
}
